/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.clemson.cs.hamptos.adventure;

import java.util.Set;

/**
 * <p>Alternate verbstrategy</p>
 * @author Nicks
 */
public interface VerbStrategyAlt {
    /**
     * <p>Asks this strategy to do its job.  By time this is called, we've
     * already determined that this is the correct strategy to enact, so no
     * need to ever call a <code>DoNotUnderstandException</code>.</p>
     * 
     * @param c The command that got us here.  Guaranteed to be a valid command
     *    for invoking this strategy.
     * @param e The engine, in case this strategy needs to change the game
     *    world.
     * @param w The window, in case this strategy needs to print anything to the
     *    screen.
     */
    public void doCommand(AdventureCommand c, AdventureEngine e,
            AdventureWindow w);
    
    /**
     * Gets the name for this Strategy
     * @return 
     */
    public String getName();
    
    /**
     * <p>Gets the verbs associated with this strategy</p>
     * @return 
     */
    public Set<String> getVerbs();
}
